//-----------------------------------------------------------------------
// <copyright file="ShippingStatusReportBase.cs" company="Pyramid Consulting">
//     Copyright (c) Pyramid Consulting. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
	
using System;
using System.Data;
using System.ComponentModel;
using System.Collections;

namespace MIMS.WRS.Entities
{
	[Serializable]
	public class ShippingStatusReportBase
	{
		
		#region Variable Declarations
		private int				id = 0;
		private int				req = 0;
		private DateTime				orderDate = new DateTime(1900,1,1,0,0,0,0);
		private string				containerSize = string.Empty;
		private string				lp = string.Empty;
		private string				pONo_Office = string.Empty;
		private string				pONo_Type = string.Empty;
		private string				pONo_Supplier = string.Empty;
		private int				pONo_Number = 0;
		private string				isPrimary = string.Empty;
		private int				pONo_Consolidation = 0;
		private string				accNo = string.Empty;
		private string				customerOrLocation = string.Empty;
		private string				finalDestination = string.Empty;
		private string				description = string.Empty;
		private DateTime				factoryETD = new DateTime(1900,1,1,0,0,0,0);
		private DateTime				shippingDate = new DateTime(1900,1,1,0,0,0,0);
		private string				shippingLine = string.Empty;
		private string				vessel = string.Empty;
		private string				containerNo = string.Empty;
		private DateTime				eta = new DateTime(1900,1,1,0,0,0,0);
		private int				week = 0;
		private string				arrivalPort = string.Empty;
		private string				pi = string.Empty;
		private string				payment = string.Empty;
		private bool				docReceived = false;
		private DateTime				completedDate = new DateTime(1900,1,1,0,0,0,0);
		private string				bulkType = string.Empty;
		private DateTime				modifiedDate = new DateTime(1900,1,1,0,0,0,0);
		private int				bulkOrderNo = 0;
		private string				payAuth = string.Empty;
		private DateTime				containerDeliveried = new DateTime(1900,1,1,0,0,0,0);
		private DateTime				pOInOpera = new DateTime(1900,1,1,0,0,0,0);
		private decimal				invValue = 0;
		private DateTime				payDate = new DateTime(1900,1,1,0,0,0,0);
		private string				remarks = string.Empty;
		private int				sInvoiced = 0;
		private string				suppOrderNo = string.Empty;
		private int				officeID = 0;
		private string				custPONo = string.Empty;
		private bool				onHold = false;
		private int				bulkOrderOfficeID = 0;
		private DateTime				sInvoicedPd = new DateTime(1900,1,1,0,0,0,0);
		private string				catalogue = string.Empty;
		private int				shippingLineID = 0;
		private int				catalogID = 0;
		private decimal				pDepValue = 0;
		private decimal				salesInvoiceValue = 0;
		private DateTime				salesInvoiceDate = new DateTime(1900,1,1,0,0,0,0);
		private DateTime				salesPaymentDue = new DateTime(1900,1,1,0,0,0,0);
		private int				salesOrder = 0;
		private DateTime				targetETD = new DateTime(1900,1,1,0,0,0,0);
		private bool				isArchived = false;
		private int				responsibleID = 0;
		private DateTime				factoryETDEnteredDate = new DateTime(1900,1,1,0,0,0,0);
		private string isNomShip= "No";
		private string estActBlank = "";
		private string feederVessel  = string.Empty;
		#endregion
		
		#region Constructors
		public ShippingStatusReportBase() {}
		
		public ShippingStatusReportBase (
			int id,
			int req,
			DateTime orderDate,
			string containerSize,
			string lp,
			string pONo_Office,
			string pONo_Type,
			string pONo_Supplier,
			int pONo_Number,
			string isPrimary,
			int pONo_Consolidation,
			string accNo,
			string customerOrLocation,
			string finalDestination,
			string description,
			DateTime factoryETD,
			DateTime shippingDate,
			string shippingLine,
			string vessel,
			string containerNo,
			DateTime eta,
			int week,
			string arrivalPort,
			string pi,
			string payment,
			bool docReceived,
			DateTime completedDate,
			string bulkType,
			DateTime modifiedDate,
			int bulkOrderNo,
			string payAuth,
			DateTime containerDeliveried,
			DateTime pOInOpera,
			decimal invValue,
			DateTime payDate,
			string remarks,
			int sInvoiced,
			string suppOrderNo,
			int officeID,
			string custPONo,
			bool onHold,
			int bulkOrderOfficeID,
			DateTime sInvoicedPd,
			string catalogue,
			int shippingLineID,
			int catalogID,
			decimal pDepValue,
			decimal salesInvoiceValue,
			DateTime salesInvoiceDate,
			DateTime salesPaymentDue,
			int salesOrder,
			DateTime targetETD,
			bool isArchived,
			int responsibleID,
			DateTime factoryETDEnteredDate,
			string isNomShip,
			string estActBlank,
			string feederVessel)
		
		{
			this.id = id;
			this.req = req;
			this.orderDate = orderDate;
			this.containerSize = containerSize;
			this.lp = lp;
			this.pONo_Office = pONo_Office;
			this.pONo_Type = pONo_Type;
			this.pONo_Supplier = pONo_Supplier;
			this.pONo_Number = pONo_Number;
			this.isPrimary = isPrimary;
			this.pONo_Consolidation = pONo_Consolidation;
			this.accNo = accNo;
			this.customerOrLocation = customerOrLocation;
			this.finalDestination = finalDestination;
			this.description = description;
			this.factoryETD = factoryETD;
			this.shippingDate = shippingDate;
			this.shippingLine = shippingLine;
			this.vessel = vessel;
			this.containerNo = containerNo;
			this.eta = eta;
			this.week = week;
			this.arrivalPort = arrivalPort;
			this.pi = pi;
			this.payment = payment;
			this.docReceived = docReceived;
			this.completedDate = completedDate;
			this.bulkType = bulkType;
			this.modifiedDate = modifiedDate;
			this.bulkOrderNo = bulkOrderNo;
			this.payAuth = payAuth;
			this.containerDeliveried = containerDeliveried;
			this.pOInOpera = pOInOpera;
			this.invValue = invValue;
			this.payDate = payDate;
			this.remarks = remarks;
			this.sInvoiced = sInvoiced;
			this.suppOrderNo = suppOrderNo;
			this.officeID = officeID;
			this.custPONo = custPONo;
			this.onHold = onHold;
			this.bulkOrderOfficeID = bulkOrderOfficeID;
			this.sInvoicedPd = sInvoicedPd;
			this.catalogue = catalogue;
			this.shippingLineID = shippingLineID;
			this.catalogID = catalogID;
			this.pDepValue = pDepValue;
			this.salesInvoiceValue = salesInvoiceValue;
			this.salesInvoiceDate = salesInvoiceDate;
			this.salesPaymentDue = salesPaymentDue;
			this.salesOrder = salesOrder;
			this.targetETD = targetETD;
			this.isArchived = isArchived;
			this.responsibleID = responsibleID;
			this.factoryETDEnteredDate = factoryETDEnteredDate;
			this.isNomShip = isNomShip;
			this.estActBlank="";
			this.feederVessel = feederVessel;
		}
		#endregion
		
		#region Properties	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int ID
		{
			get { return id; }
			set { id = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int REQ
		{
			get { return req; }
			set { req = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime OrderDate
		{
			get { return orderDate; }
			set { orderDate = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string ContainerSize
		{
			get { return containerSize; }
			set { containerSize = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is char</value>
		public string LP
		{
			get { return lp; }
			set { lp = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is char</value>
		public string PONo_Office
		{
			get { return pONo_Office; }
			set { pONo_Office = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is char</value>
		public string PONo_Type
		{
			get { return pONo_Type; }
			set { pONo_Type = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string PONo_Supplier
		{
			get { return pONo_Supplier; }
			set { pONo_Supplier = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int PONo_Number
		{
			get { return pONo_Number; }
			set { pONo_Number = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is char</value>
		public string IsPrimary
		{
			get { return isPrimary; }
			set { isPrimary = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int PONo_Consolidation
		{
			get { return pONo_Consolidation; }
			set { pONo_Consolidation = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string AccNo
		{
			get { return accNo; }
			set { accNo = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is nvarchar</value>
		public string CustomerOrLocation
		{
			get { return customerOrLocation; }
			set { customerOrLocation = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is nvarchar</value>
		public string FinalDestination
		{
			get { return finalDestination; }
			set { finalDestination = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is nvarchar</value>
		public string Description
		{
			get { return description; }
			set { description = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime FactoryETD
		{
			get { return factoryETD; }
			set { factoryETD = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime ShippingDate
		{
			get { return shippingDate; }
			set { shippingDate = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string ShippingLine
		{
			get { return shippingLine; }
			set { shippingLine = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is nvarchar</value>
		public string Vessel
		{
			get { return vessel; }
			set { vessel = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string ContainerNo
		{
			get { return containerNo; }
			set { containerNo = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime ETA
		{
			get { return eta; }
			set { eta = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int Week
		{
			get { return week; }
			set { week = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is nvarchar</value>
		public string ArrivalPort
		{
			get { return arrivalPort; }
			set { arrivalPort = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string PI
		{
			get { return pi; }
			set { pi = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is char</value>
		public string Payment
		{
			get { return payment; }
			set { payment = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is bit</value>
		public bool DocReceived
		{
			get { return docReceived; }
			set { docReceived = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime CompletedDate
		{
			get { return completedDate; }
			set { completedDate = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string BulkType
		{
			get { return bulkType; }
			set { bulkType = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime ModifiedDate
		{
			get { return modifiedDate; }
			set { modifiedDate = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int BulkOrderNo
		{
			get { return bulkOrderNo; }
			set { bulkOrderNo = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is char</value>
		public string PayAuth
		{
			get { return payAuth; }
			set { payAuth = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime ContainerDeliveried
		{
			get { return containerDeliveried; }
			set { containerDeliveried = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime POInOpera
		{
			get { return pOInOpera; }
			set { pOInOpera = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is money</value>
		public decimal InvValue
		{
			get { return invValue; }
			set { invValue = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime PayDate
		{
			get { return payDate; }
			set { payDate = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is nvarchar</value>
		public string Remarks
		{
			get { return remarks; }
			set { remarks = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int SInvoiced
		{
			get { return sInvoiced; }
			set { sInvoiced = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string SuppOrderNo
		{
			get { return suppOrderNo; }
			set { suppOrderNo = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int OfficeID
		{
			get { return officeID; }
			set { officeID = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is varchar</value>
		public string CustPONo
		{
			get { return custPONo; }
			set { custPONo = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is bit</value>
		public bool OnHold
		{
			get { return onHold; }
			set { onHold = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int BulkOrderOfficeID
		{
			get { return bulkOrderOfficeID; }
			set { bulkOrderOfficeID = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime SInvoicedPd
		{
			get { return sInvoicedPd; }
			set { sInvoicedPd = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is nvarchar</value>
		public string Catalogue
		{
			get { return catalogue; }
			set { catalogue = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int ShippingLineID
		{
			get { return shippingLineID; }
			set { shippingLineID = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int CatalogID
		{
			get { return catalogID; }
			set { catalogID = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is money</value>
		public decimal PDepValue
		{
			get { return pDepValue; }
			set { pDepValue = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is money</value>
		public decimal SalesInvoiceValue
		{
			get { return salesInvoiceValue; }
			set { salesInvoiceValue = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime SalesInvoiceDate
		{
			get { return salesInvoiceDate; }
			set { salesInvoiceDate = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime SalesPaymentDue
		{
			get { return salesPaymentDue; }
			set { salesPaymentDue = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int SalesOrder
		{
			get { return salesOrder; }
			set { salesOrder = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime TargetETD
		{
			get { return targetETD; }
			set { targetETD = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is bit</value>
		public bool IsArchived
		{
			get { return isArchived; }
			set { isArchived = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is int</value>
		public int ResponsibleID
		{
			get { return responsibleID; }
			set { responsibleID = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is datetime</value>
		public DateTime FactoryETDEnteredDate
		{
			get { return factoryETDEnteredDate; }
			set { factoryETDEnteredDate = value; }
		}
	
		
		public string FeederVessel
		{
			get { return feederVessel; }
			set {feederVessel = value; }
		}
	
		public string IsNomShip
		{
			get { return isNomShip; }
			set { isNomShip = value; }
		}
	
		/// <summary>
		/// 	
		/// </summary>
		/// <value>This type is string</value>
		public string EstActBlank
		{
			get { return estActBlank; }
			set { estActBlank = value; }
		}
	
		#endregion
	}//End Class
	
	public enum ShippingStatusReportColumns
	{
		ID,
		REQ,
		OrderDate,
		ContainerSize,
		LP,
		PONo_Office,
		PONo_Type,
		PONo_Supplier,
		PONo_Number,
		IsPrimary,
		PONo_Consolidation,
		AccNo,
		CustomerOrLocation,
		FinalDestination,
		Description,
		FactoryETD,
		ShippingDate,
		ShippingLine,
		Vessel,
		ContainerNo,
		ETA,
		Week,
		ArrivalPort,
		PI,
		Payment,
		DocReceived,
		CompletedDate,
		BulkType,
		ModifiedDate,
		BulkOrderNo,
		PayAuth,
		ContainerDeliveried,
		POInOpera,
		InvValue,
		PayDate,
		Remarks,
		SInvoiced,
		SuppOrderNo,
		OfficeID,
		CustPONo,
		OnHold,
		BulkOrderOfficeID,
		SInvoicedPd,
		Catalogue,
		ShippingLineID,
		CatalogID,
		PDepValue,
		SalesInvoiceValue,
		SalesInvoiceDate,
		SalesPaymentDue,
		SalesOrder,
		TargetETD,
		IsArchived,
		ResponsibleID,
		FactoryETDEnteredDate,
		IsNomShip,
		EstActBlank,
		FeederVessel
	}//End enum
}